package cn.com.jit.hl.demo.pattern.singleton;

/**
 * 静态内部类单例
 * 第一次加载Singleton类时不会初始化instance，只有在第一次调用getInstance()方法时，虚拟机会加载SingletonHolder类，初始化instance。
 * 这种方式既保证线程安全，单例对象的唯一，也延迟了单例的初始化，推荐使用这种方式来实现单例模式。
 * @author HL
 * @date 2020/9/10 13:48
 */
public class HolderSingleton {
    private HolderSingleton(){

    }
    public static HolderSingleton getInstance(){
        return Holder.instance;
    }

    private static class Holder{
        private static HolderSingleton instance= new HolderSingleton();
    }
}
